home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d27
/
copysavf.arc
/
CPP3422.CLP
< prev
next >
Wrap
Text File
|
1991-12-04
|
3KB
|
69 lines
CPP3422: PGM (&SAVF &FILE &MBR &CRTFILE &REPLACE)
/* Program - CPP3422 */
/* Copy to Save File CPP */
/* Command Processing Program for CPYTOSAVF */
DCL &SAVF *CHAR 20 /* Save file name */
DCL &FILE *CHAR 20 /* Target file name */
DCL &MBR *CHAR 10 /* Target file member name */
DCL &CRTFILE *LGL 1 /* Create Save file? */
DCL &REPLACE *LGL 1 /* Replace Save file data */
DCL &ERRORCODE *LGL 1 /* Error while proceesing */
MONMSG MSGID(CPF0000) EXEC(GOTO ENDPGM)
IF (&MBR *EQ '*SAVF') DO
CHGVAR VAR(&MBR) VALUE(%SST(&SAVF 01 10))
ENDDO
CHKOBJ OBJ(%SST(&FILE 01 10).%SST(&FILE 11 10)) +
OBJTYPE(*FILE) MBR(&MBR)
MONMSG MSGID(CPF9801 CPF9815) EXEC(DO)
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Database +
file' *BCAT %SST(&FILE 01 10) *TCAT '.' +
*CAT %SST(&FILE 11 10) *BCAT 'member' *BCAT +
&MBR *BCAT 'not found') MSGTYPE(*DIAG)
GOTO ENDPGM
ENDDO
CHKOBJ OBJ(%SST(&SAVF 01 10).%SST(&SAVF 11 10)) +
OBJTYPE(*FILE)
MONMSG MSGID(CPF9801) EXEC(DO)
IF (&CRTFILE) DO
CRTSAVF: CRTSAVF FILE(%SST(&SAVF 01 10).%SST(&SAVF 11 10)) +
TEXT('Q38 - Save file created from file' +
*BCAT %SST(&FILE 01 10) *TCAT '.' *CAT +
%SST(&FILE 11 10))
ENDDO
ELSE DO
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Save +
file' *BCAT %SST(&SAVF 01 10) *TCAT '.' +
*CAT %SST(&SAVF 11 10) *BCAT 'not found') +
MSGTYPE(*DIAG)
GOTO ENDPGM
ENDDO
ENDDO
IF (&REPLACE) DO
CLEAR: CLRSAVF FILE(%SST(&SAVF 01 10).%SST(&SAVF 11 10))
ENDDO
ELSE DO
EXTEND: OVRSAVF FILE(CPP3421O) EXTEND(*YES)
ENDDO
OUTPUT: OVRSAVF FILE(CPP3421O) TOFILE(%SST(&SAVF 01 +
10).%SST(&SAVF 11 10))
INPUT: OVRDBF FILE(CPP3421I) TOFILE(%SST(&FILE 01 +
10).%SST(&FILE 11 10)) MBR(&MBR)
CALLPGM: CALL PGM(CPP3421) PARM(&ERRORCODE)
IF (&ERRORCODE) DO
SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) MSGDTA('Error +
occurred while processing save file. +
Unpredictable data may be in file' *BCAT +
%SST(&FILE 01 10) *TCAT '.' *CAT %SST(&FILE +
11 10)) MSGTYPE(*DIAG)
ENDDO
ENDPGM: ENDPGM